<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>算法题总结网站</title>
</head>
<link rel="stylesheet" type="text/css" href="css/index.css">
<script type="text/javascript" src="js/jquery.js"></script>
<body>
<div id="main">
    <div id="top">
        <span id="suanfaTitle">算法题1</span>
    </div>
    <div id="navi">
        <a href="javascript:(0)" onclick="beforePage()">上一页</a><a href="javascript:(0)" onclick="afterPage()">下一页</a><a href="javascript:(0)" onclick="jumpPage()">跳转</a><span>到</span><input type="number" id="nowPageId"/><span>页</span>
    </div>
    <div id="body">
        <div id="body-left" class="comScroll">
            <div class="width100 comFont borderButtom textCenter">题目描述</div>
            <div class="width100 comFont" id="question">
                <p>给定一个非负整数 N，找出小于或等于 N 的最大的整数，同时这个整数需要满足其各个位数上的数字是单调递增。</p>
                <p>&nbsp;</p>
                <p>（当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时，我们称这个整数是单调递增的。）</p>
                <p>&nbsp;</p>
                <p>示例 1:</p>
                <p>&nbsp;</p>
                <p>输入: N = 10</p>
                <p>输出: 9</p>
                <p>示例 2:</p>
                <p>&nbsp;</p>
                <p>输入: N = 1234</p>
                <p>输出: 1234</p>
                <p>示例 3:</p>
                <p>&nbsp;</p>
                <p>输入: N = 332</p>
                <p>输出: 299</p>
                <p>说明: N 是在 [0, 10^9] 范围内的一个整数。</p>
                <p>&nbsp;</p>
                <p style="display: none">来源：力扣（LeetCode）</p>
                <p style="display: none">链接：https://leetcode-cn.com/problems/monotone-increasing-digits</p>
                <p style="display: none">著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。</p>
            </div>
        </div>
        <div id="body-right" class="comScroll">
            <div class="width100 comFont borderButtom textCenter"><a id="showAnswer" onclick="showAnswer()" href="javascript:(0)" class="buttonA">显示答案</a><a id="hiddenAnswer" onclick="hiddenAnswer()" href="javascript:(0)" class="buttonA">隐藏答案</a></div>
            <div class="width100 comFont" id="answer" style="display: none;">
                <p>//不要想复杂，思路很简单，向前遍历，前一项大于后一项，前一项就减1，后面所有都变成9</p>
                <p>class Solution {</p>
                <p>public int monotoneIncreasingDigits(int N) {</p>
                <p>    String num=String.valueOf(N);</p>
                <p>    char[] arr=num.toCharArray();</p>
                <p>    int len=arr.length;</p>
                <p>    if(len<2) {</p>
                <p>    return N;</p>
                <p>   }</p>
                <p>    for(int i=len-2;i>=0;i--) {</p>
                <p>   if(arr[i]-'0'>arr[i+1]-'0') {</p>
                <p>   arr[i]=(char) (arr[i]-'1'+'0');</p>
                    <p>for(int j=i+1;j<len;j++) {</p>
                <p>    arr[j]='9';</p>
                <p>    }</p>
                <p>   }</p>
                <p>   }</p>
                <p>    return Integer.parseInt(new String(arr));</p>
                <p>   }</p>
                <p>}</p>
            </div>
        </div>
    </div>
    <div id="foot">

    </div>

</div>
</body>
</html>
<script type="text/javascript" src="js/index.js"></script>